//
// Created by fh on 2021/6/3.
//

#ifndef CDEMO_LINKBITREE_H
#define CDEMO_LINKBITREE_H

#include <stdio.h>
#include <stdlib.h>
#include "CustomDefine.h"

/* 二叉树的二叉链表结点结构定义 */
typedef struct BiTreeNode {
    int data; /*结点数据*/
    struct BiTreeNode *leftChild; /*左孩子*/
    struct BiTreeNode *rightChild; /*右孩子*/
} BiTreeNode;

/*二叉树的前序遍历递归算法*/
void BiTreePreOrderTraverse(BiTreeNode *rootNode);
/*二叉树的中序遍历递归算法*/
void BiTreeInOrderTraverse(BiTreeNode *rootNode);
/*二叉树的后序遍历递归算法*/
void BiTreePostOrderTraverse(BiTreeNode *rootNode);
/*按前序遍历输入二叉树中结点的值*/
void BiTreePreCreateBiTree(BiTreeNode **t);
/* 生成一棵树，返回根节点 */
BiTreeNode * BiTreeCreateBiTree();
/* 测试demo */
void BiTreeTestDemo();


#endif //CDEMO_LINKBITREE_H
